package com.itbour.service.material;

import java.util.List;
import java.util.Map;

import com.itbour.com.page.Page;
import com.itbour.dto.com.CoopAppInfoDto;
import com.itbour.dto.com.FeedbackFromInfoDto;
import com.itbour.dto.com.FeedbackInfoDto;
import com.itbour.dto.com.ItbAreaInfoDto;
import com.itbour.dto.com.PartnerAreaInfoDto;
import com.itbour.dto.com.PartnerIncomeInfoDto;
import com.itbour.dto.com.PartnerInfoDto;
import com.itbour.dto.com.TopicInfoDto;
import com.itbour.dto.com.TopicRInfoDto;
import com.itbour.dto.tg.TypeInfoDto;


/**
*
* copyright   itbour team 2015
* @author     xc
*
*/
public interface ItbComService {

	
	/**
	 * @param countKey
	 *            查询该表所有记录行的SQL语句ID
	 * @param sqlKey
	 *            需要查询记录的SQL语句ID
	 * @param param
	 *            传递给查询语句的参数
	 * @param pageNo
	 *            需要查询的实际页
	 * @param pageSize
	 *            每页记录行数
	 * @return page对象
	 */
	public Page topicPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<TopicInfoDto> selectTopicInfo(Map<String,Object> param);
	public void delTopic(String delIds);
	public void addTopic(TopicInfoDto fontInfo);
	public void updTopic(Map<String,Object> param);
	
	//分页获取专题下的设计模板
	public Page getSpecialDesignInfo(Map<String, Object> parm,Integer pageNo,Integer pageSize);//获取专题下的设计模板
	public Page getSpecialPPtInfo(Map<String, Object> parm,Integer pageNo,Integer pageSize);//获取专题下PPT设计模板
	public Page getSuitDesignInfo(Map<String, Object> parm,Integer pageNo,Integer pageSize);//获取专题下适合的能添加设计模板
	//获取专题下合适的PPT
	public Page getSuitPPtInfo(Map<String, Object> parm,Integer pageNo,Integer pageSize);
	public boolean addSuitDesign(Map<String, Object> parm);//添加设计模板到专题下
	public boolean delTopicDesign(Map<String, Object> parm);//移除专题设计
	public boolean udpTorder(Map<String, Object> parm);//修改专题下设计的order
	public List<TopicRInfoDto> getOneTopicRInfo(Map<String, Object> parm);//获取一个专题信息
	public List<TypeInfoDto> selectOneType(Map<String, Object> parm);//获取一个分类信息
	
	
	// 用户反馈
	public Page feedbackPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<FeedbackInfoDto> selectFeedbackInfo(Map<String,Object> param);
	public void delFeedback(String delIds);
	public void updFeedback(Map<String,Object> param);
	public List<FeedbackFromInfoDto> getFeedbackFrom4Combo(Map<String,Object> param);
	
	// 合作申请
	public Page coopAppPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<CoopAppInfoDto> selectCoopAppInfo(Map<String,Object> param);
	public void delCoopApp(String delIds);
	public void updCoopApp(Map<String,Object> param);
	
	// 合伙人
	public Page partnerPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<PartnerInfoDto> selectPartnerInfo(Map<String,Object> param);
	public void delPartner(String delIds);
	public void updPartner(Map<String,Object> param);
	public void addPartner(Map<String,Object> param);
	// 合伙人管辖区域
	public Page partnerAreaPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<PartnerAreaInfoDto> selectPartnerAreaInfo(Map<String,Object> param);
	public List<PartnerAreaInfoDto> selectPartnerAreaInfoForChk(Map<String,Object> param);
	public void delPartnerArea(String delIds);
	public void addPartnerArea(Map<String,Object> param);
	public List<ItbAreaInfoDto> getAreaForCombo(Map<String,Object> param);
	// 合伙人收益
	public Page partnerIncomePgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<PartnerIncomeInfoDto> selectPartnerIncomeInfo(Map<String,Object> param);
	public void updPartnerIncome(Map<String,Object> param);
	public void delPartnerIncome(String delIds);
	public void addPartnerIncome(Map<String,Object> param);
	public Long calPartnerIncome(Map<String,Object> param);
	public Long calPartnerIncomeEx(Map<String,Object> param);
	public Long calPartnerBonus(Map<String,Object> param);
	// 合伙人下线用户
	public Page partnerCustPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public void updPartnerCustEndTime(Map<String,Object> param);
	
	
}
